package io.renren.modules.demo.service;

import io.renren.common.service.CrudService;
import io.renren.modules.demo.dto.ChildSixData;
import io.renren.modules.demo.dto.DhOutdorsportInfoDTO;
import io.renren.modules.demo.entity.DhOutdorsportInfoEntity;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * @author Mark sunlightcs@gmail.com
 * @since 1.0.0 2023-03-25
 */
public interface DhOutdorsportInfoService extends CrudService<DhOutdorsportInfoEntity, DhOutdorsportInfoDTO> {

    /**
     * 活动报名
     *
     * @param sportId
     * @param userId
     * @return
     */
    Integer sportApply(Integer sportId, Long userId);

    /**
     * 取消报名
     *
     * @param sportId
     * @param userId
     * @return
     */
    Integer sportApplyCancel(Integer sportId, Long userId);

    /**
     * 发起新的户外运动
     *
     * @param sportName
     * @param sportAddress
     * @param startTime
     * @param endTime
     * @param upper
     * @param sportLeader
     * @param traffic
     */
    void newSport(String sportName, String sportAddress, String startTime, String endTime, Integer upper, String sportLeader, String traffic);

    /**
     * 根据户外运动编号获取运动信息
     *
     * @param sportId
     * @return
     */
    DhOutdorsportInfoDTO getSportInfo(Integer sportId);

    /**
     * 获取不同活动报名人数
     * @return
     */
    List<ChildSixData> getChildSixData();
}